In today's business and scientific world color has become essential as a component of communication. Color facilitates the sharing of knowledge and ideas. Companies involved in the development of digital color print engines are continuously looking for ways to improve the accuracy and total image quality of their products.
Color images are commonly represented as one or more separations, each separation comprising a set of color density signals for a single primary or secondary color Color density signals are commonly represented as digital gray or contone pixels, varying in magnitude from a minimum to a maximum, with a number of gradients between corresponding to the bit density of the system. Thus, a common 8 bit system provides 256 shades of each primary color. A color can therefore be considered the combination of magnitudes of each pixel, which when viewed together, present the combination color. Usually, printer signals include three subtractive primary color signals (Cyan, Magenta and Yellow) and a Black signal (“CMYK”) which together can be considered the printer colorant signals. Each color signal forms a separation and when combined together with the other separations, forms the color image.
Printers commonly provide a limited number of output possibilities, and are commonly binary, i.e., they produce either a dot (ink drop) or no dot at a given pixel location. Thus, given a color separation with 256 shades of each additive primary color, a set of binary printer signals must be produced representing the contone effect. This process is referred to as halftoning. In such arrangements, over a given area and the separation having a number of contone pixels therein, each pixel value of an array of contone pixels within the area is compared to one of a set of preselected thresholds (the thresholds may be stored as a dither matrix and the repetitive pattern generated by this matrix is considered a halftone cell) as taught for example in U.S. Pat. No. 4,149,194 to Holladay. The effect of such an arrangement is that, for an area where the image is a contone, some of the thresholds in the matrix will be exceeded, i.e., the image value at that specific location is larger than the value stored in the dither matrix for that same location, while others are not. In the binary case, the pixels or cell elements for which the thresholds are exceeded might be printed as Black or some color, while the remaining elements are allowed to remain white or uncolored, dependent on the actual physical quantity described by the data Since the human visual system tends to average out rapidly varying spatial patterns and perceives only a spatial average of the micro-variation in spot-color produced by a printer, the halftone process described above can be used to produce a close approximation to the desired color in the contone input.
The dither matrix of threshold values is often referred to as a “screen”, and the process of generating the binary image from the contone image using the screen is called “screening” Conventional digital halftones start as a number of isolated dots which grow bigger as more colorant is requested on the paper. These screens are referred to as clustered-dot screens. The fundamental rate at which the dots in a clustered dot screen are repeated is commonly referred to as the screen's spatial frequency [Note R. Ulichney, “Digital Halftoning”, MIT Press, Cambridge, Mass., 1987]. The higher the screen spatial frequency, the finer and smoother appearing the image and also the greater is the capacity for the dots to represent fine detail in the image. Dithering creates problems in color document reproduction where the repeating pattern of a screen through the image, when superposed over similar repeating patterns in multiple separations, can cause moiré or other artifacts, particularly in a printing system with less than ideal registration between separations.
Stochastic, or non-periodic screening is an alternative to conventional clustered dot screens. Instead of producing dots that grow with increased colorant on paper, the stochastic screening method produces a well-dispersed pattern of isolated dots at spaced pixel locations. Thus there is no fundamental periodicity in the dots, instead the design of the screen attempts to produce patterns with pleasant noise characteristics. The pleasant noise characteristics are achieved by designing the screen so as to distribute the noise energy in the region of high spatial frequency, where the human visual system has a significantly reduced sensitivity. In this respect, U.S. Pat. No. 5,673,121 to Wang, discloses a stochastic halftone screening method for designing an idealized stochastic screen and is herein incorporated by reference as it discloses a particular stochastic screen useful in implementation of the subject invention, as will be more fully explained below. One of the advantages of stochastic, or non-periodic screening over periodic screening, is the suppression of moiré.
In vector halftoning, typically, a single stochastic screen is filled by the CMYK inputs rather than using four separate ones. This eliminates problems with moiré, reduces the amount of memory needed to store halftone screens, and provides better placement of dots from different separations A simplified example of a successive filling algorithm can be described so that for each pixel, the separations are halftoned in the order darkest to lightest:                1. Black is processed first, the screen is filled as in a normal halftone.        2. Then one of the colors (cyan) is added. Locations that already have black dots are avoided.        3. Then another color (magenta) is added. Locations that already have black or cyan dots are avoided.        4. Finally yellow is added.        
A formula for each of the steps would look something like:IF ColorIn+PrevSum−PrevSumOut>=threshold THEN out=255,ELSE out=0
Where ColorIn is the current color input. PrevSum is the sum of the requested amounts of previously processed colors. PrevSumOut is the sum of previous outputs (255 for each color that has previously been printed at the current location). Threshold is the value for the current pixel Note that for black, Sum and PrevSumOut are zero, so the formula simply reduces to standard halftoning (Kin>=threshold . . . ).
Vector halftoning allows multiple colors to share the same screen, but to spatially occupy different portions. Each successive color continues to fill the same screen until the screen is filled After that one starts overlapping colors in an optimized manner. A difficulty occurs around the point where one fills the screen completely with more than one color. The printed image becomes extremely dependent on inter-color alignment.
More particularly, a significant issue can arise at the point where a combination of two or more colors approaches 100-percent coverage. The alignment between colors becomes critical. Small misalignments can cause significant color shifts and grain variations.
If the color-color alignment cannot be guaranteed, then outputs varying between aligned and unaligned must be expected. In many printers, electronic calibration procedures are included that allow the customer to select the best alignment. The worst scenario would be if the misalignment varies across the page or printhead due to any of a number of possible factors related to mechanical structures or printhead defects. Then no amount of alignment procedures alone will suffice. The issue becomes more important at higher speeds with multiple printhead assemblies.
However, awareness of manufacturing tolerances and empirically obtained operational data for a particular print system can provide a fairly decent basis for predicting such misregistration errors in the system family. Such errors, e.g, a fraction of a pixel to a whole pixel, or in some print systems even greater, when consistent in occurrence, should provide a reliable factor in a compensation scheme to correct or at least compensate for the misregistration.
Accordingly, there is a need for an improved halftoning algorithm that enhances system robustness against color-to-color misalignment errors. The algorithm should give rise to more accurate halftone textures and better ink dispersion than what is achieved with strict vector halftoning.